package com.aviator.detective.execute.listener;

import com.allinfinance.detective.execute.event.*;
import com.aviator.detective.execute.eventbus.AllAllowConcurrentEvents;
import com.aviator.detective.execute.eventbus.AllSubscribe;
import com.aviator.detective.execute.event.RuleSetExecuteCompleteEvent;
import com.aviator.detective.execute.event.RuleSetExecuteErrorEvent;
import com.aviator.detective.execute.event.RuleSetExecuteStartEvent;

@AllSubscribe
@AllAllowConcurrentEvents
public interface RuleSetExecuteListener extends Listener{

    void beforeRuleSetExecute(RuleSetExecuteStartEvent event);

    void afterRuleSetExecute(RuleSetExecuteCompleteEvent event);

    void ruleSetExecuteError(RuleSetExecuteErrorEvent event);
}
